High-availability computer systems are generally understood to be computer systems in which some or all components are designed as redundant so that, if at least one single component of the computer system fails, a task required by a user can continue to be performed on the whole. Computer systems of this type are used for particularly important and/or time-critical tasks in the field of electronic data processing.
One possible application consists of parallel data processing of the type that occurs, for example, in in-memory databases, i.e., in database systems which store at least a large part of the data to be processed in one or more main memories of the computer system. Databases of that type are in some instances also known as main-memory-resident databases and are characterized, inter alia, in that the data are optimized for storage in the main memory and not, as in conventional databases, irrespective of the size of the data, for storage in a permanent storage device, in particular a hard disk drive.
Known arrangements of computer systems for parallel data processing with a plurality of computer nodes normally have at least one redundant computer node which, if any given computer node fails, can take over the work of the failed computer node. The redundant computer node then essentially provides the same computer performance as the failed computer node so that, from the perspective of a user, the high-availability computer system still has the same overall computer performance. However, the problem with an arrangement of that type, particularly where in-memory databases are used, is that considerable delay times can occur due to the loading of the data previously processed by the failed computer into the main memory of the redundant computer node.
It could therefore be helpful to provide a high-availability computer system of the aforementioned type, the performance and availability of which are further improved. A reduction in the waiting time in the event of failure of an individual computer is preferred. A high-availability computer system of this type should be suitable, in particular, for the fast and high-availability implementation of in-memory databases.